package com.mcxx.modules.temporary.order.dao.read;

import java.util.List;
import java.util.Map;

import com.mcxx.modules.miniSalvation.check.dto.CheckFileDTO;
import com.mcxx.modules.miniSalvation.order.dto.FileInfoDTO;
import com.mcxx.modules.miniSalvation.order.dto.NoticeBoardDTO;
import com.mcxx.modules.miniSalvation.order.param.ReferenceParam;
import org.apache.ibatis.annotations.Mapper;
import com.mcxx.modules.temporary.order.entity.TmpOrderCertEntity;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface TmpOrderCertReadDao extends Ta404SupportMapper{


	List<TmpOrderCertEntity> listAll();


	List<TmpOrderCertEntity> selectBySelective(TmpOrderCertEntity tmpOrderCertEntity);



	TmpOrderCertEntity getById(String id);


	int cntInhouseCertNum(@Param("orderId") String orderId,  @Param("orderInhouseId") String orderInhouseId);


	List<String> selectByOrderId(@Param("orderIdList") List<String> orderIdList);


	List<Map<String, String>> listByType(ReferenceParam referenceParam);


	List<Map<String, Object>> countByTypes(ReferenceParam countParam);


	String getFileKeyById(String id);


	List<String> listFileKeyByIds(String[] ids);


	int queryCertIsExiten(@Param("orderIdList") List<String> orderIdList,String fileType,String associationTable);


    Integer getUserLevelById(String id);


    TmpOrderCertEntity getFileKeyAndUserLevelById(String id);


	List<TmpOrderCertEntity> cntNoticesCertNum(List<String> batchNoList);



	int cntNoticeCertNum(String batchId);


	List<CheckFileDTO> getFileByMemberId(String memberId,String orderId);

	List<CheckFileDTO> getAuthorFile(String fileType,String orderId);

	Map<String,Long> selectTmpMustCert(String orderId,String familyId);

	List<String> selectTmpMemberNoCert(String orderId,String familyId);

	List<String> selectFamilyTmpMustCert(List<String> familyIds);
	List<String> selectFamilyTmpMustCerts(@Param("familyIds") List<String> familyIds, @Param("orderIds")List<String> orderIds);


	List<String> selectNoIdcardCert(List<String> familyIds);


	List<String> selectNoIdcardCerts(@Param("familyIds") List<String> familyIds, @Param("orderIds")List<String> orderIds);

	List<String> getIntegrateAuthorFile(String fileType,String orderId);
}
